664342f95ca80ea6d43df86ead73d9887eb5933e,MekHQ/src/mekhq/campaign/personnel/Person.java,Person,procreate,#,964
Before Change
GregorianCalendar tCal = (GregorianCalendar) campaign.getCalendar().clone();
tCal.add(GregorianCalendar.DAY_OF_YEAR, PREGNANCY_DURATION.getAsInt());
setDueDate(tCal);
campaign.addReport(getHyperlinkedName()+" has conceived");
if (campaign.getCampaignOptions().logConception()) {
addLogEntry(campaign.getDate(), "Has conceived");
}
After Change
}
public void procreate() {
if(!isFemale() || isPregnant()) {
return;
}
// Spouse NULL protection...
if((getSpouseID() != null) && (getSpouse() == null)) {
setSpouseID(null);
}
if (!isDeployed()) {
// Age limitations...
if (getAge(campaign.getCalendar()) > 13 && getAge(campaign.getCalendar()) < 51) {
boolean concieved = false;
if (getSpouse() == null && campaign.getCampaignOptions().useUnofficialProcreationNoRelationship()) {
// 0.005% chance that this procreation attempt will create a child
concieved = (Compute.randomInt(100000) < 2);
} else if (getSpouse() != null) {
if (getSpouse().isActive() && !getSpouse().isDeployed() && getSpouse().getAge(campaign.getCalendar()) > 13) {
// 0.05% chance that this procreation attempt will create a child
concieved = (Compute.randomInt(10000) < 2);
}
}
if(concieved) {
GregorianCalendar tCal = (GregorianCalendar) campaign.getCalendar().clone();
tCal.add(GregorianCalendar.DAY_OF_YEAR, PREGNANCY_DURATION.getAsInt());
setDueDate(tCal);
int size = PREGNANCY_SIZE.getAsInt();
extraData.set(PREGNANCY_CHILDREN_DATA, size);
extraData.set(PREGNANCY_FATHER_DATA,
(null != getSpouseID()) ? getSpouseID().toString() : null);
String sizeString = (size < PREGNANCY_MULTIPLE_NAMES.length) ? PREGNANCY_MULTIPLE_NAMES[size] : null;
if(null == sizeString) {
campaign.addReport(getHyperlinkedName()+" has conceived");
if (campaign.getCampaignOptions().logConception()) {
addLogEntry(campaign.getDate(), "Has conceived");
}
} else {
campaign.addReport(getHyperlinkedName()+" has conceived " + sizeString);
if (campaign.getCampaignOptions().logConception()) {
addLogEntry(campaign.getDate(), "Has conceived " + sizeString);
}